1. Field of the Invention
The present invention relates to a method, system, program, and data structures for halftoning color components of an input image to improve the quality of the rendered output.
2. Description of the Related Art
Digital images may use one or more bits to describe the color intensity at each pixel. The term “pixel” as used herein refers to one or more intensity inputs, where an intensity is expressed with one or more bits, at a data point that represents data to be rendered (i.e., printed, displayed, etc.), where the data to be rendered may include, but is not limited to, images, text, composite images, graphs, collages, scientific data, video, etc. A pel is a picture element point that may be expressed with one bit. If only one bit is used to express the intensity, then the image is a bilevel image where there are two possible intensity values per pixel, such as black and white or full saturation and no intensity.
Color images are often expressed using three or more color components, such as cyan (C), magenta (M), yellow (Y), and black (K), or some combination thereof. Typically an image is stored as 8 bits per color component representing 256 intensity levels per pixel per color component. Also typically, a digital print apparatus is bilevel meaning that only two intensity levels per color component are available for output. Halftoning is the standard technique used to achieve the appearance of many intensity levels while actually using a lesser number of rendering levels. A common method of halftoning is to apply a halftone screen to each color hcomponent. Halftone output consists of various size dots on a square grid. The number of parallel lines through the dots per inch is the halftone screen frequency measured in lines per inch, LPI. The angle the parallel lines form with the vertical axis is the screen angle of the halftone output.
One common form of a dithering algorithm involves the use of a threshold matrix of values with which the intensity values for a color component (CMYK) are compared. The same matrix pattern is employed repeatedly to cover the image. The binary output value, i.e., a color or black or absence of any component, for the bi-level printer is based on a comparison of whether the input intensity value for the color component is greater or less than the threshold intensity. The commonly assigned patents entitled “Clustered Aperiodic Mask”, having U.S. Pat. No. 5,917,951 and “Multicell Clustered Mask with Blue Noise adjustments”, having U.S. Pat. No. 6,025,930, provide techniques for creating the threshold matrix.
As the frequency of the pattern of dots in the halftone output increases, the printed dots become less noticeable and a uniform intensity is perceived by the human eye. Thus, it is desirable to have a high screen frequency which is also within the capability of the output device. However, the higher the screen frequency, the more difficult it is to construct halftone output that can render a full range of gray values.
For color images, each color component is usually screened at the same frequency. If some misalignment of these screens occurs, objectionable moire patterns form. Moiré patterns are a visible artifact comprised of a lower beat frequency resulting from the superposition of two or more higher frequency patterns. The lower frequency moiré pattern is more easily detected by the human eye and results in objectionable output. Therefore, where screen misalignment can occur, color component screens are rotated from the vertical axis at various angles before being superimposed in order to reduce moiré patterns. It has been found that two screens of the same frequency rotated at 30 degrees with respect to each other have the least moiré artifacts. Therefore, when color printing using cyan, magenta, yellow, and black (C, M, Y, and K) components, a 30 degree rotation between the (C, M, and K) screens is used because these colors are more visible than yellow. Because screens are invariant under a 90 degree rotation, the Y screen cannot also be separated from the others by 30 degrees, so it is placed between two of the other screens with a 15 degree rotation.
FIG. 1 a illustrates an example of halftone outputs 2, 4, 6, 8 that are representative of (C,M,Y,K) color components with one printed value per basic cell. A threshold matrix screen is used to transform an input intensity value for one color component (C, M, Y or K), that may comprise eight bits to represent multiple intensity values, to a one bit intensity value for the color component, i.e., zero (no intensity) or one (full intensity). In the halftone outputs 2, 4, 6, 8 illustrated in FIG. 1a, the black dots represent output values that are rendered at full intensity, and the blank spaces between the black dots represent intensity values having zero intensity. Prior art halftoning algorithms produce halftone output having approximately the same lines per inch (LPI) or screen frequency, and vary the angles at which the halftone output is rotated for different color components. In the prior art, the LPI for the halftone outputs for the color components will not differ by more than fifteen percent.
FIG. 1b illustrates prior art halftone output that is denser than the output illustrated in FIG. 1a. The output shown in FIG. 1b has four printed values per basic cell.
In the illustrated prior art halftone output arrangement shown in FIGS. 1a, b, the cyan (C) output is rotated 15 degrees, the magenta (M) output is rotated negative 15 degrees, the yellow (Y) output is rotated zero degrees, and the black (K) output is rotated 45 degrees. However, the output may be rotated by the halftoning algorithm at other angles to improve the quality of the rendered image. Further, in FIG. 1a, the yellow output 6 has two white dots between every two horizontal and vertical black dots; the cyan 2 and magenta 4 halftone output there are two white dots between every two consecutive black dots at a 15 degree angle; and the black output 8 has one white dot between every two consecutive black dots at a 45 degree angle.
If there are more than four visible color components, i.e., halftone outputs, then it has been observed by those in the art that it is difficult to find enough suitable angles to print. Therefore, there is a need in the art to increase the number of ways to superimpose screens upon one another without forming objectionable moiré patterns.